package com.mask.sca.core.exception;

/**
 * 统一错误码
 */
public enum ErrorCode {
    // 通用错误（10000-10999）
    SUCCESS(200, "success"),
    SYSTEM_ERROR(10000, "系统异常，请稍后重试"),
    PARAM_ERROR(10001, "参数校验失败"),
    AUTH_FAILED(10002, "认证失败，请登录"),
    NO_PERMISSION(10003, "权限不足"),
    FEIGN_ERROR(10004, "远程服务调用失败"),
    
    // 用户模块（20000-20999）
    USER_NOT_FOUND(20001, "用户不存在"),
    PASSWORD_ERROR(20002, "密码错误"),
    USER_DISABLED(20003, "用户已禁用"),
    
    // 订单模块（30000-30999）
    ORDER_NOT_FOUND(30001, "订单不存在"),
    ORDER_STATUS_ERROR(30002, "订单状态异常"),
    INSUFFICIENT_STOCK(30003, "库存不足"),
    
    // 支付模块（40000-40999）
    PAYMENT_FAILED(40001, "支付失败"),
    PAYMENT_TIMEOUT(40002, "支付超时");

    private final int code;
    private final String message;

    ErrorCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}